package cn.itcast.nems.base.service;

import java.util.List;
import java.util.Map;

import cn.itcast.ic.common.bean.Page;
import cn.itcast.ic.msplatform.api.model.Dictionary;
import cn.itcast.nems.base.dto.DictionaryDTO;

public interface DictionaryService {
    /**
     * 分页查询
     *
     * @param params 请求参数
     **/
    List<Dictionary> list(DictionaryDTO params);
    Page<Dictionary> list(Integer pageNumber, Integer pageSize, DictionaryDTO params);
    /**
     * 学籍流转原因
     *
     * @param params
     * @return
     */
    Page<Map<String, Object>> listPage(Integer pageNumber, Integer pageSize, DictionaryDTO params);

    /**
     * 新增
     *
     * @param params 请求参数
     * @return String
     **/
    Integer create(DictionaryDTO params);

    /**
     * 修改
     *
     * @param params 请求参数
     * @return String
     **/
    Boolean update(DictionaryDTO params);

    /**
     * 启用/禁用
     *
     * @param id    id
     * @param state 0未启用、1启用、8停用
     * @return state
     **/
    Boolean updateState(Integer id, Integer state);

    String getNameByParentCode(String parentCode, String code);
    
    /**
     * 
     * 功能描述：通过字典项名称获取Code
     *
     * @param parentCode 字典项上级Code
     * @param name 字典项名称
     * @return 字典项列表。注：可能会有多个
     * 
     * @author 刘曙
     *
     * @since 2024年3月26日
     *
     * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
     */
    List<Dictionary> listByName(String parentCode, String itemName);
}
